-
Notifications
You must be signed in to change notification settings - Fork 409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KVStore: Record table-wise memory usage and warn when it goes beyond the threshold #9835
Conversation
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Signed-off-by: Calvin Neo <calvinneo1995@gmail.com>
Co-authored-by: JaySon <tshent@qq.com>
Co-authored-by: JaySon <tshent@qq.com>
Co-authored-by: JaySon <tshent@qq.com>
Co-authored-by: JaySon <tshent@qq.com>
Co-authored-by: JaySon <tshent@qq.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
We need to investigate why "It shows a byte cost in KVStore will result in 2 bytes cost in memory usage." later
dbms/src/Server/Server.cpp
Outdated
@@ -107,6 +108,7 @@ | |||
#include <fiu.h> | |||
#endif | |||
|
|||
std::atomic<UInt64> tranquil_time_rss; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO could be moved into KVStore to avoid this atomic. Not necessarily in this PR.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: JaySon-Huang, JinheLin The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
Co-authored-by: jinhelin <linjinhe33@gmail.com>
/retest |
/test pull-unit-test |
What problem does this PR solve?
Issue Number: ref #9722
Problem Summary:
RegionTableSize
which is shared by aTable
and all its relatedRegion
s. Once registered, a region will update its memory change to this struct, so the table would learn.maybeWarnMemoryLimitByTable
andresetWarnMemoryLimitByTable
, to log when the memory of a table goes beyond threshold.Both of the systems works under the path that:
RegionTableSize
.RegionTableSize
.Also:
Region
to reflect what they actually do.What is changed and how it works?
Check List
Tests
Side effects
Documentation
Release note